This invention relates generally to standard request-response protocols such as the HyperText Transport Protocol (HTTP), and more specifically to providing for data types of properties according to such standard request-response protocols.
The HyperText Transport Protocol (HTTP) has emerged as the standard mechanism by which information is transported over TCP/IP (Transmission Control Protocol/Internet Protocol) compatible networks, such as the Internet, intranets, and extranets. HTTP is more specifically an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, protocol that can be used for many tasks beyond its use for hypertext, such as name servers and distributed object management systems, through extension of its request methods, error codes and headers. It is referred to as a transport protocol, since information is transported according to its specifications, and is also referred to as a request-response protocol, since information is exchanged by a client making a request of a server, which generates a response thereto. HTTP as referred to herein refers generally to any standard of HTTP, and specifically to HTTP/1.1, as described in the Request For Comment (RFC) 2616, available on the web site http://www.w3.org.
A common use of HTTP is the transport of information formatted according to a markup language. For example, a popular application of the Internet is the browsing of world-wide-web pages thereof. In such instances, typically the information retrieved is in HyperText Markup Language (HTML) format, as transported according to HTTP. However, other standard markup languages are emerging. One such markup language is extensible Markup Language (XML). XML describes a class of data objects that are referred to as XML documents, and partially describes the behavior of computer programs that process them. A primary difference between HTML and XML is that within the former, information content is intertwined with the layout of the content, making their separation difficult, for example. Conversely, within XML a description of the storage layout and logical structure of content is maintained separate from the content itself. However, both XML and HTML are subsets of a markup language known as Standard Generalized Markup Language (SGML). XML as referred to herein refers generally to any standard of XML, and specifically to XML 1.0, as described in the W3C recommendation REC-xml-19980210 dated Feb. 10, 1998, and also available on the web site http://www.w3.org.
HTTP, and hence XML in the context of HTTP, allows for the access of resources. The term resource refers to any piece of information that has a location described by a Uniform Resource Locator (URL) of the form HTTP:// less than domain greater than . less than extension greater than , where  less than domain greater than  specifies a particular domain, and  less than extension greater than  can be, for example, .com, .edu, and .net, among others. A resource can be, for example, a Web page, a document, a database, a bitmap image, or a computational object. The definition of URL is described in the references Request for Comment RFC 1738 and Request for Comment 2396, also available from http://www.w3.org.
Recently, extensions to HTTP have been proposed that allow for, among other things, the setting and retrieval of properties for resources. A property is specifically a name/value pair that contains descriptive information about a resource. More generally, a property is any information about a resource. Thus, properties provide for the ability to create, remove, and query such information about resources, such as their authors, creation dates, etc. Properties also provide for the ability to link web pages of any media type to other related web pages.
These extensions are generally referred to as the World-Wide-Web Distributed Authoring and Versioning (WebDAV) extensions to HTTP. The goal of WebDAV, broadly speaking, has been to add remote authoring capabilities to HTTP, so that HTTP can be more convenient as a readable and writable collaborative medium, and not necessarily only a browsing medium for web pages. WebDAV is generally described in the reference E. James Whitehead, Jr., World-Wide-Web Distributed Authoring and Versioning (WebDAV): An Introduction, in StandardView, Vol. 5, No. 1, March 1997, pages 3-8. The part of WEBDav that describes the setting and enumerating of properties is described in the reference Internet Engineering Task Force (IETF) Request for Comment (RFC) 2518, entitled HTTP Extensions for Distributed Authoring, by Y. Goland, E. Whitehead, A. Faizi, S. Carter and D. Jensen, and dated February 1999. More generally, this reference specifies a set of methods, headers and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, name space manipulation, and resource locking (also referred to as collision avoidance).
A limitation to these extensions that provide for properties of resources is that they do not provide for data typing of the properties. Data typing generally refers to the providing of a data type to a resource, such as string, integer, floating point (real number), as well as newly defined data types. A data type for a property can allow a computer accessing the property to know how to handle the property. For example, two integers can be added together, while addition does not make sense for two strings. However, under WebDAV, data typing is not provided for at the property level of a resource. This means that while computers can access properties of resources, they cannot determine what sort of operations, for example, that can be used on these properties. This limits the usefulness of properties. For these and other reasons, there is a need for the present invention.
The invention provides for data types of properties of resources according to standard request-response protocols such as HTTP. For example, in one embodiment, a method specifies a command, such as a PROPPATCH command, a PROPFIND command, or a SEARCH command, as known within the art. At least one value of a data type for a property within the command is set, and the command is then output according to a predetermined request-response protocol, such as HTTP. In one embodiment, the outputting of the command is also according to a predetermined markup language, such as XML.
Embodiments of the invention therefore provide for advantages not found in the prior art. Computers coupled to TCP/IP-compliant networks such as the Internet, intranets, and extranets can access properties of resources, and learn of and set data types of such properties. Because Internet connectivity is becoming increasingly standard for computers, this means that that the invention provides for improved usefulness of the Internet as a readable and writable collaborative medium.
The invention includes computer-implemented methods, machine-readable media, computerized systems, and computers of varying scopes. Other aspects, embodiments and advantages of the invention, beyond those described here, will become apparent by reading the detailed description and with reference to the drawings.